// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
module.exports = {
	/**
	 * getData方法描述
	 * @returns {object} 返回值描述
	 */
	getData() {
		try {
			const db = uniCloud.databaseForJQL({
				clientInfo: this.getClientInfo()
			})

			return db.collection('custom-swipper').where({
				isDelete: 0
			}).get()
		} catch (err) {
			return {
				errCode: 'ERROR',
				errMsg: '错误',
				errInfo: err
			}
		}
	},
	/**
	 * addData方法描述
	 * @param {Array} files 上传的数据
	 * @returns {object} 返回值描述
	 */
	addData(files) {
		if (!Array.isArray(files)) {
			return {
				errCode: 'FILES_IS_TYPE_ERROR',
				errMsg: '参数类型错误'
			}
		}
		if (!files.length) {
			return {
				errCode: 'FILES_IS_NULL',
				errMsg: '参数不能为空'
			}
		}
		try {
			const db = uniCloud.databaseForJQL({
				clientInfo: this.getClientInfo()
			})

			return db.collection('custom-swipper').add(files.map(item => ({
				image: item,
				isDelete: 0
			})))
		} catch (err) {
			return {
				errCode: 'ERROR',
				errMsg: '错误',
				errInfo: err
			}
		}
	},
	/**
	 * deleteData方法描述
	 * @param {string} _id 删除数据的id
	 * @returns {object} 返回值描述
	 */
	deleteData(_id) {
		if (!_id) {
			return {
				errCode: 'PARAM_IS_NULL',
				errMsg: '参数不能为空'
			}
		}
		try {
			const db = uniCloud.databaseForJQL({
				clientInfo: this.getClientInfo()
			})

			return db.collection('custom-swipper').where({
				_id
			}).update({
				isDelete: 1
			})
		} catch (err) {
			return {
				errCode: 'ERROR',
				errMsg: '错误',
				errInfo: err
			}
		}
	}
}